Zip Slip
zip
../../../../etc/passwd zip /etc/passwd
tar (Tar Slip)
Synk

:
$ pwd
/tmp/zipslip
$ ls -alR
.:
internal target.txt
./internal:
evil.zip
$ cat target.txt #
WRITE ME
$ cd internal
$ zipinfo evil.zip # zip
Archive: evil.zip
Zip file size: 182 bytes, number of entries: 1
-rw-r--r-- 3.0 unx 6 tx stor 22-Sep-30 11:47 ../target.txt
1 file, 6 bytes uncompressed, 6 bytes compressed: 0.0%
$ unzip -: evil.zip # zipslip-:
Archive: evil.zip
replace ../target.txt? [y]es, [n]o, [A]ll, [N]one, [r]ename: yes
extracting: ../target.txt
$ cat ../target.txt #
PWNED

..
zip

zipslipzip/tar

Python tarfile.extractall
PythontarfileZip Slip
https://gigazine.net/news/20220922-python-old-bug-unpatched-15-years/
extarct() API
zipslip
Golang archive/tar archive/zip
root -> /
root/tmp/slip /tmp/slip

ZipSlip https://github.com/snyk/zip-slip-vulnerability
Cloudflarecdnjs https://blog.ryotak.me/post/cdnjs-remote-code-execution/